Page({

  // 页面的初始数据
  data: {
    testItem: {},
    detailContent: [],
    answerTable: [],
    finishTips: "没有更多题目了！"
  },

  // 生命周期函数--监听页面加载
  onLoad() {
    const eventChannel = this.getOpenerEventChannel()
    eventChannel.on('testItem', (req) => {
      req.data.description = req.data.description.replaceAll('\\n', '\n')
      this.setData({
        testItem: req.data
      })
    })
    console.log(this.data)
    this.getTestDetailContent()
  },

  // 生命周期函数--监听页面初次渲染完成
  onReady() {},

  // 生命周期函数--监听页面显示
  onShow() {},

  // 生命周期函数--监听页面隐藏
  onHide() {},

  // 生命周期函数--监听页面卸载
  onUnload() {},

  // 页面相关事件处理函数--监听用户下拉动作
  onPullDownRefresh() {},

  // 页面上拉触底事件的处理函数
  onReachBottom() {},

  // 用户点击右上角分享
  onShareAppMessage() {
    return {};
  },

  /**
   * 获取作业详细信息
   */
   getTestDetailContent() {    
    let that = this
    const apiUrl = wx.getStorageSync('apiUrl')
    wx.request({
      url: apiUrl + '/test-detail',
      data: {
        id: (that.data.testItem as any).id || ''
      },
      success: (res) => {
        debugger
        let _res = res.data as any
        if (_res.code === 200) {
          that.setData({
            detailContent: JSON.parse(_res.data)
          })
        } else if (_res.code === 204) {
          that.setData({
            detailContent: []
          })
        } else {
          wx.showToast({
            title: _res.msg,
            icon: 'none',
            duration: 2021
          })
        }
      }
    })
    // 经过验证，wxml 使用的对象拷贝方式为浅拷贝，大于等于三级都无法执行wx:for语句
    // let contentSlot = 'detailContent.content'
    // this.setData({
    //   [contentSlot]: JSON.parse(contentStr)
    // })
  },

  /**
   * 获取答案
   */
  getCurrentValue(event: { detail: { id: any, value: any} }) {
    let _answerTable = [...this.data.answerTable]
    let id = event.detail.id
    let value = event.detail.value
    _answerTable[id] = value as never
    this.setData({
      answerTable: _answerTable
    })
  },

  /**
   * 提交作业
   */
  handleConfirm() {
    // console.log('提交作业')
    console.log(this.data.answerTable)
  }
})
